import java.util.ArrayList;
import java.util.List;

/**
 * 1688. 比赛中的配对次数
 * https://leetcode-cn.com/problems/count-of-matches-in-tournament/
 */
public class Solutions_1688 {
    public static void main(String[] args) {
        int n1 = 7;  // output: 6
        int n2 = 14;  // output: 13

        List<Integer> inputs = new ArrayList<>();
        inputs.add(n1);
        inputs.add(n2);

        for (int input : inputs) {
            int result = numberOfMatches(input);
            System.out.println(result);
        }
    }

    /**
     * 共 n 支队伍，每匹配一次即淘汰一支队伍
     * 若最终只保留一支队伍，则需要匹配 n - 1 次，淘汰 n - 1 支队伍
     */
    public static int numberOfMatches(int n) {
        return n - 1;
    }

    /**
     * while 循环迭代实现
     */
    public static int numberOfMatches2(int n) {
        int res = 0;
        while (n > 1) {
            res += n / 2;
            res += n % 2;
            n /= 2;
        }
        return res;
    }
}
